SRC = 'src/main/java/com/google/gerrit/'

ANNOTATIONS = [
  SRC + 'common/Nullable.java',
  SRC + 'common/audit/Audit.java',
  SRC + 'common/auth/SignInRequired.java',
]

java_library(
  name = 'annotations',
  srcs = ANNOTATIONS,
  visibility = ['PUBLIC'],
)

gwt_module(
  name = 'client',
  srcs = glob([SRC + 'common/**/*.java']),
  gwt_xml = SRC + 'Common.gwt.xml',
  exported_deps = [
    '//gerrit-extension-api:api',
    '//gerrit-prettify:client',
    '//lib:guava',
    '//lib:gwtorm_client',
    '//lib/jgit/org.eclipse.jgit:jgit',
    '//lib/joda:joda-time',
    '//lib/log:api',
  ],
  provided_deps = ['//lib:servlet-api-3_1'],
  visibility = ['PUBLIC'],
)

java_library(
  name = 'server',
  srcs = glob([SRC + 'common/**/*.java'], excludes = ANNOTATIONS),
  deps = [
    ':annotations',
    '//gerrit-extension-api:api',
    '//gerrit-patch-jgit:server',
    '//gerrit-prettify:server',
    '//gerrit-reviewdb:server',
    '//lib:guava',
    '//lib:gwtjsonrpc',
    '//lib:gwtorm',
    '//lib/jgit/org.eclipse.jgit:jgit',
    '//lib/joda:joda-time',
    '//lib/log:api',
  ],
  provided_deps = ['//lib:servlet-api-3_1'],
  visibility = ['PUBLIC'],
)

TEST = 'src/test/java/com/google/gerrit/common/'
AUTO_VALUE_TEST_SRCS = [TEST + 'AutoValueTest.java']

java_test(
  name = 'client_tests',
  srcs = glob(['src/test/java/**/*.java'], excludes = AUTO_VALUE_TEST_SRCS),
  deps = [
    ':client',
    '//lib:guava',
    '//lib:junit',
  ],
  source_under_test = [':client'],
)

java_test(
  name = 'auto_value_tests',
  srcs = AUTO_VALUE_TEST_SRCS,
  deps = [
    '//lib:truth',
    '//lib/auto:auto-value',
  ],
)
